RedObservaciones = function(){
	Ext.define("ctgEstadoSeguimientoModel",{
		extend: "Ext.data.Model",
		fields:[
	        "ctgCatalogoId",
	        "ctgCatalogoNombre"
        ]
	});
	
	return {
		guardarObservacion: function(){
			if(!Ext.getCmp("redObservacionDemandanteDescripcion").isValid()){
				Asg.Message.alertInvalidFields();
				return;
			}
			
			Ext.Ajax.request({
				timeout: Asg.constants.TIMEOUT_SECONDS,
			    url: Asg.constants.CONTEXT_PATH + "/red/demandante/guardarObservacion",
			    params: {
			    	"redObservacionesDemandante.ctgEstadoSeguimiento.ctgCatalogoId": Asg.Utils.getValue("ctgEstadoSeguimiento"),
			    	"redObservacionesDemandante.redDemandante.redDemandanteFolio": Asg.Utils.getValue("redFolio"),
			        "redObservacionesDemandante.redObservacionDemandanteDescripcion": Asg.Utils.getValue("redObservacionDemandanteDescripcion")
			    },
			    callback: function(options, success, response){
			    	Ext.Msg.hide();
			    	if(success){
			    		var jsonObject = Asg.Utils.ajaxRequestGetJson(response);
			    		if(jsonObject){
			    			Ext.getCmp("gridObservaciones").getStore().loadData(jsonObject.observacion || []);
			    			Asg.Utils.setValue("redObservacionDemandanteDescripcion", "");
			    		}
			    	}
			    }
			});
		},
		bitacoraObservaciones : function(demandante, folio){
			new Ext.Window({
				id: "bitacoraObservaciones",
				layout: "fit", 
				title: " .::. OBSERVACIONES AL DEMANDANTE .::.",
				modal: true,
				width: 400,
				maximizable: true,
				resizable	: true,
	        	bodyStyle: "background: #DFE8F6",
	        	items:  new Ext.FormPanel({
	        		modal: true,
	        		frame:true,
	        		defaults: {margins: "5 5 5 5"},
					layout: {
					    type: "vbox",
					    align : "stretch",
					    pack  : "start"
					},
					items: [
						{xtype: "label", text: "POSTULANTE: "+demandante, cls: "x-form-item label_header"},
						{xtype: "label", text: "Estado", cls: "x-form-item label_spacing", height: 15},
						{
							xtype: "combo",
							id: "ctgEstadoSeguimiento",
							name: "redObservacionesDemandante.ctgEstadoSeguimiento.ctgCatalogoId",
							allowBlank: false,
							store: Ext.create("Ext.data.Store", {
								model: "ctgEstadoSeguimientoModel",
								proxy: {
									type: "ajax",
									url: Asg.constants.CONTEXT_PATH + "/red/demandante/getCtgEstadoSeguimiento",
									reader: {
										type: "array",
										root: "ctgEstadoSeguimiento"
									}
								}
							}),
							valueField: "ctgCatalogoId",
							displayField: "ctgCatalogoNombre"
							
						},
						{xtype: "label", text: "Observaci\u00F3n:", cls: "x-form-item label_spacing", height: 15},
						{
							xtype: "textarea",
							id: "redObservacionDemandanteDescripcion",
							name: "redObservacionDemandanteDescripcion",
							enforceMaxLength: true,
							allowBlank: false,
							maxLength: 1000,
							height: 60
						},{
					    	xtype: "grid",
					    	id: "gridObservaciones",
					    	disableSelection: true,
					    	height: 100,
					    	columns: [
				    	          {header: "Estado", dataIndex: "ctgEstadoSeguimientoNombre",  width: 150},
				    	          {header: "Observaci\u00F3n", dataIndex: "redObservacionDemandanteDescripcion",  flex: 1}
		    	            ],
		    	            store:  new Ext.data.SimpleStore({
		    	            	fields: [
				    		         "redObservacionDemandanteId", 
				    		         "redObservacionDemandanteDescripcion",
				    		         "redDemandanteFolio", 
				    		         "ctgEstadoSeguimientoId", 
				    		         "ctgEstadoSeguimientoNombre"
			    		         ]
					    	})
						},
						{xtype:"hidden", id: "redFolio", value: folio}
		        	],
			        buttons: [
						{
							text: "Guardar Observaci\u00F3n",
							handler: function(){RedObservaciones.guardarObservacion();}
						},{
							text: "Cerrar",
							handler: function(){ Ext.WindowMgr.get("bitacoraObservaciones").close();}
						}
	                ]
	        	})
			}).show();
			Asg.Message.progress("Obteniendo Informaci\u00F3n...");
			Ext.Ajax.request({
				timeout: Asg.constants.TIMEOUT_SECONDS,
				url: Asg.constants.CONTEXT_PATH + "/red/demandante/viewObservaciones",
			    params: {
			    	redDemandanteFolio:  folio
			    },
			    callback: function(options, success, response){
			    	Ext.Msg.hide();
			    	if(success){
			    		var jsonObject = Asg.Utils.ajaxRequestGetJson(response);
			    		if(jsonObject){
			    			Asg.Grid.loadData("gridObservaciones", jsonObject.observacion);
			    		}
			    	}
			    }
			});
		}
	};
}();